Oberon-Mines und alle Dateien in diesem Paket sind (C)opyright 1994-1995 bei Ralf Degner. Alle Rechte vorbehalten.
Das Oberon-System ist (C)opyright 1990-1995 beim Institut f
r Computersysteme der ETH Z
rich.
hrleistung:
Der Autor
bernimmt keine Gew
hrleistung f
r Oberon-Mines. Die Benutzung erfolgt auf eigene Gefahr.
Verbreitung:
Oberon-Mines ist Cardware. Sie k
nnen es kopieren so oft Sie wollen und auf jedem beliebigen Weg verbreiten, es ist frei. Es ist nicht erlaubt, Mines in irgend einer Art und Weise zu verkaufen oder auf eine andere Art und Weise Geld damit zu verdienen. Die Dateien d
rfen nur unver
ndert verbreitet werden. Mein Copyright-Vermerk muss stets erhalten bleiben. Wenn es Ihnen gef
llt, k
nnen Sie es in Public-Domain-Serien oder Mailboxen aufnehmen.
Die Heimat von Mines ist http://sun1.rrzn.uni-hannover.de/~nhbidegn/myo4.html . Dort finden Sie stets die neuste Version von Mines. Zudem sollte sich auf dem Server der Oberon-User-Group (hades.ethz.ch pub/Oberon/OberonV4/Sources/Mines) eine aktuelle Version befinden.
Das Programm:
Oberon-Mines ist ein einfaches Minesweeper-Spiel, wie es aus vielen Umsetzungen bekannt ist. Ich nehme an, die Regeln sind bekannt. Bevor Sie spielen k
nnen, muss Mines compiliert werden ( Compiler.Compile Mines.Mod MinesElems.Mod ~ ).
Benutzen Sie Windows (muss das wirklich sein?), so befindet sich am Anfang des Quelltextes von Mines eine spezielle Farbpalette.
Gestartet wird Mines durch Ausf
hren von Mines.Open . Wenn sie das Mines Tool
ffnen ( System.Open Mines.Tool ), sehen sie, welche Kommandos Mines versteht und wie die Parameter
bergeben werden.
Mit dem rechten Mausknopf kann ein Feld als Mine gekennzeichnet werden, die mittlere setzt oder l
scht ein "?" (nur eine Gedankenst
tze) und mit dem linken Mausknopf wird ein Feld umgedreht. Zwischenklick l
scht die letzte Aktion. Wird mit dem linken/rechten Mausknopf ein Feld mit einer Zahl ausgew
hlt und dann mit der rechten/linken zwischengeklickt, werden alle Nachbarfelder, welche nicht als Mine gekennzeichnet sind, umgedreht.
Durch Klicken auf den Smily
ber dem Feld kann das Spiel neu gestartet werden. Die Anzahl der noch zu findenen Minen erscheint links neben dem Smily, die vergangene Zeit rechts davon.
Wenn Ihr System einen Usernamen besitzt, wird dieser bei neuen Eintr
gen in die HiScore genutzt. Mit Mines.SetUser ^ kann jederzeit ein neuer Name eingegeben werden.
Es gibt einen Farb- und einen Schwarzweiss-Modus. Es kann mit Mines.ColorMode zwischen beiden umgeschaltet werden. Welcher Modus aktiv ist, wird gespeichert. Damit der Farbmodus auch gut aussieht, muss die dazu passende Farbpalette geladen werden ( Colors.Load Mines.Pal ). M
chten Sie ihre eigene Palette verwenden, k
nnen Sie auch die Farben am Anfang des Quelltextes
ndern. Die Windows-Version benutzt die Standard-Palette.
Normalerweise wird von Mines ein Task verwendet, um die Zeit darzustellen. Das Programm merkt, ob noch ein Mines-Frame ge
ffnet ist. Ist dies nicht der Fall, wird der Zeit-Task automatisch aus dem System entfernt. Ein neues Mines-Frame installiert den Task wieder. Haben Sie etwas gegen fremde Tasks in Ihrem System, k
nnen Sie ihn auch mit Mines.TimeMode abschalten. Die Zeit wird dann bei jedem Dr
cken auf eine Maustaste in ein erlaubtes Feld aktualisiert. Auch diese Einstellung wird gespeichert.
Mines besitzt eine Pause-Funktion, welche mit Mines.Pause eingeschaltet wird. Ist sie aktiv, so wird die Spielfeldgr
sse nicht mehr automatisch an die Fenstergr
sse angepasst. Sie k
nnen das Fenster also verschieben und seine Gr
ndern, ohne dass sich an ihren pers
nlichen Einstellunegn etwas
ndert. Wenn sich eine Fenstergr
sse derart
ndert, dass das alte Spiel nicht mehr hinein passt, wird die Pause-Funktion automatisch aktiviert. M
chten Sie das Spiel fortsetzen, rufen Sie die Pause-Funktion erneut auf. Sollte das Spiel nicht in das Fenster passen, wird eine Meldung im System.Log ausgegeben. Es besteht die M
glichkeit, das Frame zu vergr
ssern und es erneut zu versuchen. Soll trotz falscher Framegr
sse wieder ein Spiel gestartet werden, muss Mines.Pause erneut aufgerufen werden. Ein Spiel muss immer in alle Kopien des Frames passen.
Den Status des Spiels k
nnen Sie am Smily erkennen. Ist er gut gelaunt :-) , so ist alles in Ordnung. Ein Spiel l
uft oder Sie k
nnen mit einem beginnen. Ein unentschlossener Smily :-| zeigt die aktivierte Pausefunktion an. Erst die Pausefunktion aufheben, bevor es weitergehen kann. Haben Sie eine Mine getroffen, findet der Smily das garnicht gut :-( . Das Spiel ist vorbei. Sie k
nnen ein neues starten. Wenn Sie alle Minen entdeckt haben, ist der Smily begeistert und setzt seine Sonnenbrille auf 8-) ( It`s cool man! ). Eine neue HiScore wird im System.Log vermerkt.
Das Mines Textelement
Mines Textelemente stellen ein vollwertiges Minesweeper Spiel dar. Es kann kopiert, gel
scht, gespeichert, ... werden, wie jedes andere Textelement. Eingef
gt wird ein Element durch MinesElems.Beginner , MinesElems.Advanced , MinesElems.Expert und MinesElems.Insert . Es sind diverse
bergabeparameter m
glich (siehe Mines.Tool).
Ein Textelement kann selektiert oder nicht selektiert sein. Ein selektiertes Element zeichnet sich durch einen gepunkteten Rahmen aus. Ein Element wird durch anklicken mit der linken Maustaste selektiert.
Die Mausaktionen f
r die beiden Modi haben folgende Wirkungen (R=rechte Maustaste, M=..., L=...; zweiter Buchstabe bedeutet Interklick; nicht genannte Kombinationen wie
blich):
Nicht selektiert: L = Selektiert Element
M L = Oeffnet normales Mines Spiel
M R = " " " "
Selektiert: L = Feld ausw
L R = Multiauswahl aller Nachbarfelder
R = Markiert ein Feld als Mine
R L = Multiauswahl aller Nachbarfelder
M = Gibt aus, wieviele Minen noch gefunden werden m
M L = Startet ein neues Spiel
M R = Zeigt die HiScore an
Sind alle Minen gefunden, wird die ben
tigte Zeit im System.Log ausgegeben. Hatten Sie die Quelltexte schon compiliert bevor dieser Text geladen wurde, erscheinen an dieser Stelle drei Mines Textelement vom Typ Beginner in verschiedenen Farben:
Drei Mineselement
Dateien in dieser Ver
ffentlichung:
Mines.Mod der Quelltext
MinesElems.Mod der Quelltext des Textelements
Mines.Tool die Tools-Datei
Mines.Menu.Text der Menutext
Mines.Score die HiScore-Datei
Mines.Score.Text Text zur Anzeige der HiScore
Mines.Pal Datei mit Farbinformationen
Mines.Text Sie lesen es gerade
Mines.doc dasselbe in Englisch (bisher nur Ascii)
Getestet auf:
Amiga - Amiga 4000-40, OberonV4 0.10
IBM-RS6000 - OberonV4 4.1
DECstation - OberonV4 4.2
Windows 3.x - OberonV4 1.31
Bekannte Bugs:
Bei eingen Umsetzungen, insbesondere
lteren, kann es Probleme mit den Menus geben. Sollte ein Trap oder eine anderer Fehler auftreten, l
schen Sie einfach die Datei Mines.Menu.Text. Der Fehler liegt an Compatibilit
tsproblemen der PopUp-Elemente auf den verschiedenen Umsetzungen.
Geschichte:
V1.0 (04.08.1994) erste Ver
ffentlichnung (AmiNet)
V1.1 (10.08.1994) Hi-Score hinzugef
gt (Mines.Score)
Mines.SetUser, Mines.Ask, Mines.Score
Probleme mit Mines.Menu.Text-Datei beseitigt
Jetzt mit richtigem Smily und richtiger Mine
SearchMore ge
ndert
zeigt alle Felder, wenn Mine getroffen wurde
V1.15 (14.08.1994 interne Version)
bessere Zufallszahlen
Selektion durch Rechten-Mausknopf-Zwischenklick
Farbige Grafik, Mines.Mode
Eigene Palettendatei Mines.Pal
V1.2 (02.09.1994) HiScore-Datei jetzt portierbar
Zeitmessung auf allen Systemen korekt
Restminen und Zeit werden angezeigt
Modi werden in HiScore-Datei gespeichert
keine Warnungen mehr beim Compilieren
Zeitanzeige auch permanent m
glich
Pause-Funktion (Feld wird jetzt versteckt)
Zeitmessung beginnt erst nachdem ein Feld ausgew
hlt wurde
V1.21 (09.09.1994) Time-Task l
scht sich automatisch
viele kleine Verbesserungen
V1.3 (17.09.1994) Mines-Textelemente hinzugef
Pause wird bei Frameverkleinerung aktiviert
Quelltext total
berarbeitet
V1.31 (1.10.1994) einige Bugs im Element beseitigt
neues Format f
r HiScore-Datei (alte l
schen !)
V1.32 (1.10.1995) neues Layout f
r HiScore Anzeige (daf
r Mines.Score.Text zugef
Probleme mit Zeit Anzeige und Task beseitigt
viele kleine
nderungen am Quelltext
neues Random => importiert SYSTEM nicht mehr
Zu tun:
Jede gute Idee, die Sie mir mitteilen.
Danksagungen:
Peter Landmann - f
r die Portierung des Ascii-Textes nach Mines.Text und Anregungen
Richard Hable - f
r viele Bugreports und Kommentare
Allen, die mir durch E-Mails mit Bugreports und Anregungen geholfen haben !
Programme vom selben Author:
EditPat ein Pattern Editor mit kompfortablem Display Modul f
r mehrfarben Patterns in beleibiger Gr
ObTris ein Tetris Spiel f
r das Oberon System V4
Meine Adresse:
Wenn Sie Mines m
gen, k
nnen sie mir Geld schicken, aber sie m
ssen nicht. Senden Sie bitte Kommentare, Ideen, Bugreports (mit genauer Rechnerangabe), h